package com.mikufufu.blog.security;

import com.mikufufu.blog.common.entity.SysUser;
import com.mikufufu.blog.security.utils.AuthUtils;
import com.mikufufu.blog.utils.StringUtils;
import org.springframework.stereotype.Service;

/**
 * 权限服务实现类
 * 
 */
@Service("ss")
public class SecurityService{

    /**
     * 检查当前用户是否具有指定权限。
     *
     * @param permission 需要检查的权限字符串。如果为空或null，则认为没有权限。
     * @return boolean 如果当前用户具有指定权限，则返回true；否则返回false。
     */
    public boolean hasPermission(String permission){
        // 获取当前登录的用户对象
        SysUser user = AuthUtils.getUser();
        // 检查用户对象是否为空
        if (StringUtils.isEmpty(user)) {
            return false;
        }
        // 检查用户权限集合是否为空
        if (StringUtils.isEmpty(user.getPermissions())){
            return false;
        }
        // 检查用户权限集合中是否包含指定的权限
         return user.getPermissions().contains(permission);
    }
}
